package com.un.ebs.businessObject.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.un.ebs.core.metadata.FunctionInfo;
import com.un.ebs.core.metadata.Query;
import com.un.ebs.core.metadata.ServiceInfo;
import com.un.ebs.sys.domain.Column;
import com.un.ebs.sys.domain.Table;
import com.un.ebs.sys.service.impl.TableWapper;

/**
 * @Author zc
 * @ClassName RelService
 * @Description 表字段关系service接口
 * @Date 2021/1/8
 */
public interface RelService {

	List<ServiceInfo> queryServices();

	List<FunctionInfo> queryFunctions(String serviceName);

	/**
	 * 根据表id获取表
	 * 
	 * @param tableId
	 * @return
	 */
	Table getTableById(String tableId);

	/**
	 * 获取所有表
	 * 
	 * @param table
	 * @return
	 */
	List<Table> getDbTables(Table table);

	/**
	 * 递归表，构造父子结构关系
	 * 
	 * @param tableWapper 父级表
	 * @param lists 所有表
	 * @param pid 父级表id
	 */
	void recursiveTable(TableWapper tableWapper, List<Table> lists, String pid);

	/**
	 * 获取外键列（测试使用）
	 * 
	 * @param refTable  父级表名
	 * @param tableName 子级表名
	 * @return
	 */
	//Column getColumn(String refTable, String tableName);

}